Users are exposed to increasing amounts of data in everyday life. For example, a user may have thousands of songs available on a portable digital music player, store hundreds on documents on a personal computer, and so on. A variety of techniques may be utilized to organize this data such that the user can locate a particular item of interest.
One such technique is hierarchical organization. Hierarchies include multiple “levels” of data organized in “parent/child” relationships. For example, a hierarchy may be specified to describe equipment owned by a company. Therefore, a first level of the hierarchy may be “corporation”, a second level may be specified as “office”, a third level may be specified as “equipment” in each office, a fourth level may be specified for “components” for each equipment item, and so on. Although this is an intuitive way of organizing the data which describes the equipment owned by the corporation, it may difficult to navigate through this organization to arrive at particular data of interest. For example, if a user changes different components utilized in different offices, the user is forced to navigate “through” the hierarchy to each equipment item, back “up” to the “office” level, and then back “down” through the levels to interact with another equipment item.
Therefore, there is a continuing need for improved techniques for displaying and editing hierarchical data.